/*
 * @author=nagebaixiong
 * @version=0.1.0.20230117
 * @createTime=20230117 23:09
 * @lastModifiedTime=20230117 23:55
 * @description=c++中的类
 * 
 * 在c++中定义自己的数据类型是通过定义类来实现的
 * 类机制是c++的重要特性之一
 * 一个类定义了一个类型和与其相关的操作的集合
 */

#include <iostream>
#include <string>

class Person
{
    private:
        int age;  // 年龄
    public:
        // 成员变量声明
        std::string name;  // 姓名
        std::string address;  // 地址
        int height;  // 身高（单位cm，取整）
        int weight;  // 体重（单位kg，取整）
        // 成员函数声明
        std::string getName();
        std::string getInfo();
        void setAge(int age);
};

std::string Person::getName()
{
    return name;
}

std::string Person::getInfo()
{
    return "name: " + name + ", age: " + std::to_string(age) + ", address: " + address;
}

void Person::setAge(int newAge)
{
    age = newAge;
}

int main()
{
    Person xiaoming;
    xiaoming.name = "xiao ming";
    xiaoming.setAge(20);
    xiaoming.address = "a new address";
    std::cout << xiaoming.getInfo();
}